Multi-level lighting system

ABSTRACT

A system and method for facilitating lighting of objects during interactive gameplay by users on client computing platforms distinguishes activities performed prior to interactive gameplay and during interactive gameplay. Different client computing platforms may have different levels of graphics performance. Lighting may be defined by characteristics of one or more light sources that illuminate one or more objects in a multi-dimensional volume in a virtual space. Different lighting techniques or lighting features may be combined to create lighting during interactive gameplay. Some lighting techniques or lighting features may only be available and/or supported on high-performance computing platforms, whereas other lighting features may be available even on low-performance computing platforms.

FIELD OF THE DISCLOSURE

This disclosure relates to facilitating lighting of objects duringinteractive gameplay.

BACKGROUND

Systems that facilitate lighting of objects during interactive gameplayby users on client computing platforms are limited to the availableperformance on a computing platform or device. Certain lightingtechniques may require more computing power than is available inreal-time. For example, a video sequence in a game or movie may takeminutes or hours to render per frame. The same level of detail and/orthe same lighting techniques may not be available during interactivegameplay, in which the viewpoint may change due to a user's input. Inparticular, viewpoint changes may be unpredictable, such that a newimage may need to be created in response to a viewpoint change.

Developers of interactive media content, e.g. game developers, maytarget a particular client computing platform having known graphicscapabilities and/or known computing power. In some case, game developersmay target different types of client computing platforms, such that thetargeted platforms may be distinguished in two, three, or more levels.For example, a particular video game may be targeted to both aparticular high-end client computing platform having state-of-the-artgraphics capabilities and industry-leading amounts of computing power,as well as a low-end client computing platform having less advancedgraphics capabilities and a modest amount of computing power. Forexample, the high-end platform may be the latest PlayStation™ and thelow-end platform may be an outdated Android™ smartphone. To target bothplatforms for a new video game, game developers may decide on a firstset of lighting features for the high-end platform and a second set oflighting features for the low-end platform.

SUMMARY

One aspect of the disclosure relates to facilitating lighting of objectsduring interactive gameplay by users on client computing platforms.Lighting may be defined by characteristics of one or more light sourcesthat illuminate one or more objects in a virtual space, e.g., in athree-dimensional volume in the virtual space. The systems and methodsdisclosed herein distinguish activities performed prior to interactivegameplay (also referred to as pre-processing) and during interactivegameplay (also referred to as runtime or real-time processing).

In some implementations, a system configured to facilitate lighting ofobjects during interactive gameplay may include one or more servers, oneor more processors, electronic storage, one or more networks, one ormore client computing platforms, one or more external resources, and/orother components. As used herein, the term “processor” is usedinterchangeably with the term “physical processor.” The one or moreprocessors may be configured by instructions to execute and/or implementone or more computer program components. The computer program componentsmay include one or more of a space component, a lighting preprocessingcomponent, a support component, a selection component, a runtimelighting component, and/or other components.

The space component may be configured to execute an instance of avirtual space. The space component may implement the instance of thevirtual space to facilitate participation by users in the virtual space.The virtual space may include one or more of a two-dimensional space, athree-dimensional space, and/or other virtual space. The instance of thevirtual space may include virtual space content determined based onindividual virtual space content associated with individual objects andthe arrangement(s) of the objects, and/or other information. The spacecomponent may use the instance of the virtual space to facilitatepresentation of one or more views of the virtual space to a user. Thespace component may use the instance of the virtual space to enable auser to interact with the virtual space. In some implementations, theexecution of the instance of the virtual space may include the spacecomponent executing an instance of a game within the virtual space.

The space component may be configured to receive user requests toinitiate actions at locations within the virtual space. A user requestto initiate an action in the virtual space may specify an action typeassociated with the requested action. The action type may be used toobtain a function, method, routine, formula, software component orcomponents, and/or any other means that may be used to execute therequested action. Examples of an action type may include, but notlimited to, moving, turning, defending, attacking, mining, logging,farming, managing, surveying, training, researching, constructing,recruiting and/or any other action types appropriate for the virtualspace. A user request to initiate an action may also specify one or morevirtual space objects and/or characters to be acted on, for example,specific buildings (e.g., farm, bank, barrack, mill, lumber yard, etc.),resources (e.g., iron, gold, oil, coal, etc.), troop, knights and so on.

The space component may be configured to execute user requested actionsat virtual space locations in an instance of the virtual space. Thevirtual space locations may include, but not limited to, areasdesignated as a city, realm, kingdom, state, nation, culture or thelike, tiles for improvements (e.g., resource tiles that may be mined,food tiles that may be farmed, land tile that may be used to constructbuildings, etc.), topology (e.g., road, hill, ocean, desert, lake,swamp, etc.), and/or any other locations appropriate for the virtualspace.

The space component may be configured to receive user requests toparticipate in activities in the virtual space and execute thoseactivities. The user requested activities may include, but is notlimited to, initiating virtual space transactions (e.g., buying orselling virtual items, ordering services provided by the virtual space,and/or any other virtual space transactions), partaking in a game,mission, quest, campaign, expedition, training, tutorial, researchand/or so on in the virtual space, consulting a virtual space expert(e.g., asking virtual consultants questions about performing diplomacyin the virtual space), messaging other users (e.g., texting, textchatting, voice chatting, etc.), convening (e.g., conducting an alliancemeeting, voting in an alliance meeting, etc.), and/or any other virtualspace activities.

The lighting preprocessing component may be configured to determineand/or generate sets of lighting information. Operations by the lightingpreprocessing component may be performed, substantially or completely,prior to interactive gameplay. In some implementations, sets of lightinginformation may define lighting by one or more light sources of objectsin a three-dimensional volume. In some implementations, thethree-dimensional volume may be part of a virtual space. In someimplementations, sets of lighting information may define lighting by oneor more light sources of objects in a virtual space. In someimplementations, lighting information may include light models, lightmaps, and/or other information that may be used to facilitate lighting.In some implementations, sets of lighting information may correspond tosets of supported lighting techniques and/or lighting features. Forexample, a first set of lighting information may define lighting for afirst type of client computing platforms, a second set of lightinginformation may define lighting for a second type of client computingplatforms, a third set of lighting information may define lighting for athird type of client computing platforms, and so forth. For example, thefirst type of client computing platforms may represent state-of-the-artgraphics capabilities and industry-leading amounts of computing power, athird type of client computing platforms may represent less advancedgraphics capabilities (compared to the first type) and a modest amountof computing power (e.g., less than the first type), and a second typeof client computing platforms may represent graphics capabilities andcomputing power at a level between the first and third types of clientcomputing platforms. As used herein, the first type of client computingplatforms may be referred to as high-end platforms, the second type maybe referred to as mid-range platforms, and the third type may bereferred to as low-end platforms. Compared to high-end platforms, theother platforms may be referred to as lower-end platforms. Compared tothe low-end platforms, the other platforms may be referred to ashigher-end platforms.

In some implementations, the lighting preprocessing component may beconfigured to determine and/or generate a first set of lightinginformation for high-end platforms, a second set of lighting informationfor mid-range platforms, and a third set of lighting information forlow-end platforms. A set of lighting information may define lighting inaccordance with a particular primary set of lighting techniques and/orlighting features being implemented during interactive gameplay and aparticular secondary set of lighting techniques and/or lighting featuresbeing implemented prior to interactive gameplay. In someimplementations, each different level of client computing platform maybe associated with a corresponding pair of a primary and a secondary setof lighting techniques and/or lighting features. For the highest levelof capabilities and computing power, the secondary set may be empty. Forthe lowest level of capabilities and computing power, the primary setmay be empty. For many platforms, including but not limited to mid-rangeplatforms, both the primary and secondary set may include at least onelighting technique and/or lighting feature. For example, certain typesof lighting by a static light source on a (directly exposed) staticobject may be so similar or the same between different frames thatrecreating this particular illumination effect on a frame-by-frame basismay be wasteful of computing resources. For example, certain types oflighting by a dynamic light source on a dynamic object (e.g.,reflections off fast-flying objects) may be so dissimilar betweendifferent frames that recreating this particular illumination effect ona frame-by-frame basis may be required to obtain the effect at all.

Lower-end platforms may omit certain types of lighting if neitherreal-time processing nor pre-processing is available or feasible.Lighting techniques and lighting features that are not supported in anyway on a particular client computing platform may also be referred to asbelonging to a tertiary set of lighting techniques and/or lightingfeatures. Types of lighting in a tertiary set may need to be omitted.The tertiary set of a low-end platform may be more extensive than thetertiary set of a higher-end platform.

In some implementations, a lighting technique and/or lighting feature ina secondary set (of a lower-end platform) may approximate and/or mimicthe illumination of a particular lighting technique and/or lightingfeature that is included in a primary set of a higher-end platform. Theprimary set may be referred to as the runtime set or real-time set. Thesecondary set may be referred to as pre-processed set, preconfiguredset, or “baked-in” set. The primary set for high-end platforms mayinclude lighting techniques and/or lighting features that are notsupported (and/or at least not supported in the primary set) bylower-end platforms. The primary set for mid-range platforms may includelighting techniques and/or lighting features that are not supported(and/or at least not supported in the primary set) by low-end platforms.

For example, a static light source may indirectly illuminate aparticular surface of a static object within a three-dimensional volumethat is part of a video game. This type of lighting may be referred toas indirect lighting. If a particular higher-end client computingplatform supports a real-time implementation during interactive gameplayof this type of lighting (e.g., recreate the lighting on the particularsurface for every frame or every set of frames, e.g., by ray-tracing)the lighting preprocessing component may include the pertinentinformation regarding the static light source, the static object, theparticular surface, the lighting model used to determine this particularillumination, and/or any other information required for the particularhigher-end client computing platform to implement this type of lightingduring interactive gameplay in the first set of lighting information. Inthis case, this particular type of lighting is included in the primaryset. In some implementations, a lower-end client computing platform maynot support this type of lighting during interactive gameplay. In someimplementations, the effects of this type of lighting on the particularsurface may be determined prior to interactive gameplay and “baked” intoa light map, e.g. by assigning particular colors and/or brightness topixels, vertices, and/or other elements used to draw the particularsurface. The lower-end client computing platform may be configured touse the (pre-processed) light map (and/or the information included in aset of lighting information) to implement lighting, in particular theeffects of this type of lighting, during interactive gameplay. In thiscase, this particular type of lighting is included in a secondary set.In some implementations, types of lighting in the secondary set may bereused between different frames, in particular if the particularillumination is similar or the same between different frames.

By way of non-limiting example, a static object (e.g. a streetlamp)between a static light source (e.g., the sun) and a static surface (e.g.the side of a building) may cast a shadow on the static surface thatremains the same or similar between subsequent frames. A higher-endplatform may determine and re-determine this shadow during interactivegameplay. However, a lower-end platform may approximate and/or mimicthis particular illumination (i.e., the casting of this shadow) by usinga light map with the shadow being baked-in, thus saving the effort todetermine and re-determine this particular illumination. In someimplementations, a very low level low-end platform may entirely omitthis type of lighting feature.

By way of non-limiting example, certain types of light sources may havea localized effect. For example, lighting provided by a (small) burningfire may only affect the illumination of a relatively small number ofpixels, vertices, surfaces, objects, and/or otherwise visible elementsthat contribute to a view of the virtual space and/or thethree-dimensional volume. In some implementations, lighting from thesecertain types of light sources may be referred to as deferred lighting.In some implementations, deferred lighting may be defined as lightingthat contributes to less than a certain percentage of the number ofpixels, vertices, surfaces, objects, and/or otherwise visible elementsthat contribute to a view of the virtual space and/or thethree-dimensional volume. In some implementations, the certainpercentage may be 50%, 40%, 30%, 25%, 20%, 15%, 10% and/or anotherpercentage. In some implementations, deferred lighting may be defined aslighting from one or more dynamic light sources. In someimplementations, dynamic light sources may include fires, flashlights,reflections, specular highlights, spinning lights, flashing lights,and/or other light sources. In some implementations, static lightsources may include the sun, the moon, starts, spotlights, and/or otherlight sources that move and/or change little or not at all betweensubsequent frames.

Sets of lighting information may be stored in electronic storage. Forexample, the lighting preprocessing component may be configured to storeinformation in electronic storage. Components of the system may obtain,retrieve, and/or otherwise access the set of lighting information toimplement and/or determine lighting, in particular during interactivegameplay.

The support component may be configured to obtain and/or determinelighting techniques and/or lighting features that are supported by aparticular client computing platform. In some implementations, thesupport component may be configured to obtain and/or determine lightingtechniques and/or lighting features that are supported by a particulartype of client computing platform (e.g., the latest version of iPhone™).The support component may be configured to determine sets of supportedlighting techniques and/or lighting features. For example, the supportcomponent may be configured to determine a primary set of lightingtechniques and/or lighting features that are supported duringinteractive gameplay on a particular client computing platform. Forexample, the support component may be configured to determine asecondary set of lighting techniques and/or lighting features that aresupported prior to interactive gameplay on a particular client computingplatform (but, e.g., that are not supported during interactivegameplay), or vice versa. For example, the support component may beconfigured to determine a set of lighting techniques and/or lightingfeatures that are not supported in any way on a particular clientcomputing platform (which may be referred to as a tertiary set).

The selection component may be configured to select sets of lightinginformation for client computing platforms. For example, the selectioncomponent may be configured to analyze and/or compare lightingtechniques and/or lighting features that are supported by a particularclient computing platform (e.g. as obtained and/or determined by thesupport component). In some implementations, the selection component maybe configured to analyze and/or compare lighting techniques and/orlighting features that are supported by a particular type of clientcomputing platform (e.g. as obtained and/or determined by the supportcomponent).

The selection component may be configured to select at least one set oflighting information that has been determined and/or generated by thelighting pre-processing component. In other words, the selectioncomponent may be configured to determine which set of lightinginformation is most suitable for a particular client computing platformand/or a particular type of client computing platform. In someimplementations, selection by the selection component may be based on ananalysis and/or comparison of a primary set of lighting techniquesand/or lighting features. In some implementations, selection by theselection component may be based on an analysis and/or comparison of asecondary set of lighting techniques and/or lighting features. In someimplementations, selection by the selection component may be based on ananalysis and/or comparison of a primary set and a secondary set oflighting techniques and/or lighting features.

The runtime lighting component may be configured to determine lighting.For example, the runtime lighting component may be configured todetermine lighting of objects in the virtual space. For example, theruntime lighting component may be configured to determine lighting ofobjects in the three-dimensional volume. In particular, the runtimelighting component may determine lighting for a particular clientcomputing platform. In some implementations, the runtime lightingcomponent may be configured to determine lighting during interactivegameplay. In some implementations, the runtime lighting component mayoperate in conjunction with the space component. In someimplementations, the runtime lighting component may be configured todetermine lighting in accordance with one or more sets of lightinginformation that have been selected by the selection component. In someimplementations, the runtime lighting component may be configured todetermine lighting in accordance with one or more sets of lightingtechniques and/or lighting features that have been selected by theselection component. For example, the runtime lighting component may beconfigured to determine lighting based on a primary set of lightingtechniques and/or lighting features. Alternatively, and/orsimultaneously, the runtime lighting component may be configured todetermine lighting based on a secondary set of lighting techniquesand/or lighting features. The runtime lighting component may beconfigured to obtain and/or otherwise access sets of lightinginformation from electronic storage. In particular, the runtime lightingcomponent may obtain and/or access the one or more sets of lightinginformation that have been selected by the selection component.

As used herein, any association (or relation, or reflection, orindication, or correspondency) involving light sources, objects,lighting techniques, lighting features, sets of lighting information,light maps, surfaces, pixels, vertices, parameters, thresholds,functions, vectors, and/or another entity or object that interacts withany part of the system and/or plays a part in the operation of thesystem, may be a one-to-one association, a one-to-many association, amany-to-one association, and/or a many-to-many association or N-to-Massociation (note that N and M may be different numbers greater than 1).

As used herein, the term “obtain” (and derivatives thereof) may includeactive and/or passive retrieval, determination, derivation, transfer,upload, download, submission, and/or exchange of information, and/or anycombination thereof. As used herein, the term “effectuate” (andderivatives thereof) may include active and/or passive causation of anyeffect. As used herein, the term “determine” (and derivatives thereof)may include measure, calculate, compute, estimate, approximate,generate, and/or otherwise derive, and/or any combination thereof.

These and other features, and characteristics of the present technology,as well as the methods of operation and functions of the relatedelements of structure and the combination of parts and economies ofmanufacture, will become more apparent upon consideration of thefollowing description and the appended claims with reference to theaccompanying drawings, all of which form a part of this specification,wherein like reference numerals designate corresponding parts in thevarious figures. It is to be expressly understood, however, that thedrawings are for the purpose of illustration and description only andare not intended as a definition of the limits of the invention. As usedin the specification and in the claims, the singular form of “a”, “an”,and “the” include plural referents unless the context clearly dictatesotherwise.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary system configured to facilitate lightingof objects during interactive gameplay, in accordance with one or moreimplementations.

FIGS. 2A-2B-2C-2D illustrate depictions of virtual spaces that may beused by a system configured to facilitate lighting of objects duringinteractive gameplay, in accordance with one or more implementations.

FIG. 3 illustrates one exemplary method of facilitating lighting ofobjects during interactive gameplay, in accordance with one or moreimplementations.

DETAILED DESCRIPTION

FIG. 1 illustrates a system 100 configured to facilitate lighting ofobjects during interactive gameplay by users on client computingplatforms. System 100 may include one or more servers 15, one or moreprocessors 104, electronic storage 118, one or more networks 120, one ormore client computing platforms 13, one or more external resources 14,and/or other components. Server 15 may be configured to communicate withone or more client computing platforms 13 according to a client/serverarchitecture. Users may access system 100 and/or the virtual space viaclient computing platforms 13. As used herein, the term “gameplay”refers to use by one or more users of one or more virtual spaces throughone or more client computing platforms 13, and does not limit the use togames. As used herein, the phrase “multi-user gameplay” refers to use bymultiple users of one or more virtual spaces through multiple clientcomputing platforms 13, and does not limit the use to games. In someimplementations, individual ones of the multiple client computingplatforms may correspond to individual ones of the multiple users.

Server 15 and/or processors 104 may be configured to execute one or morecomputer program components. The one or more computer program componentsmay include one or more of a space component 20, a lightingpreprocessing component 21, a support component 22, a selectioncomponent 23, a runtime lighting component 24, and/or other components.

In some implementations, the functionality attributed to one or morecomponents may be performed by different computing platforms, e.g.remote from other components. For example, functionality attributed tospace component 20 and support component 22 may be performed by a server(e.g., an interactive server, a server used at runtime, and/or a serverused during gameplay) and/or a client computing platform. Functionalityattributed to lighting preprocessing component 21 may be performed by adifferent server and/or an offline server. Functionality attributed tolighting preprocessing component 21 may be performed prior to gameplayand/or not at runtime. Functionality attributed to selection component23 and runtime lighting component 24 may be performed by clientcomputing platforms, e.g., at runtime and/or during gameplay. In someimplementations, the functionality attributed to one or more componentsmay be performed at different times, e.g., by offline servers and/orprior to gameplay and/or not at runtime.

System 100 may be configured to manage one or more user accounts, userprofiles, and/or user information associated with users of the system100. The one or more user accounts, user profiles, and/or userinformation may include information stored by server 15, one or more ofclient computing platforms 13, and/or other storage locations.

Space component 20 may be configured to execute an instance of a virtualspace. Space component 20 may implement the instance of the virtualspace to facilitate participation by users in the virtual space. Thevirtual space may include one or more of a multi-dimensional space, atwo-dimensional space, a three-dimensional space, and/or other virtualspace. The instance of the virtual space may include virtual spacecontent determined based on individual virtual space content associatedwith individual objects and the arrangement(s) of the objects, and/orother information. Space component 20 may use the instance of thevirtual space to facilitate presentation of one or more views of thevirtual space to a user. Space component 20 may use the instance of thevirtual space to enable a user to interact with the virtual space. Insome implementations, the execution of the instance of the virtual spacemay include space component 20 executing an instance of a game withinthe virtual space.

By way of non-limiting example, FIG. 2A illustrates a depiction 200 of avirtual space that may be used by a system configured to facilitatelighting of objects during interactive gameplay. The virtual space mayinclude a multi-dimensional volume 201 bounded by multiple walls, lightsources 202, 203, and 204, objects 205 and 206, and/or other objects.Light sources 202, 203, and 204 may be different types of light sources,and may provide different types of lighting. For example, light source202 may be a static light source, similar to the sun. Light source 203may be a dynamic light source, similar to a camp fire. Light source 204may be in a static position that is not moved, similar to a lamppost,and may be turned on and/or off. Other types of light sources, havingother combinations of static and dynamic features, may be supported.Objects 205 and 206 may be different types of objects, and may havedifferent lighting characteristics responsive to being lit. Object 205may be a static object, similar to a building. Object 206 may be adynamic object, similar to a car. Other types of objects, having othercombinations of static and dynamic features, may be supported.

Referring to FIG. 1, space component 20 may be configured to receiveuser requests to initiate actions at locations within the virtual space.A user request to initiate an action in the virtual space may specify anaction type associated with the requested action. The action type may beused to obtain a function, method, routine, formula, software componentor components, and/or any other means that may be used to execute therequested action. A user request to initiate an action may also specifyone or more virtual space objects and/or characters to be acted on.

Space component 20 may be configured to execute user requested actionsat virtual space locations in an instance of the virtual space. Thevirtual space locations may include, but not limited to, areas and/orlocations appropriate for the virtual space.

Space component 20 may be configured to receive user requests toparticipate in activities in the virtual space and execute thoseactivities. The user requested activities may include, but is notlimited to, initiating virtual space transactions, partaking in a game,mission, quest, campaign, expedition, training, tutorial, researchand/or so on in the virtual space, consulting a virtual space expert,messaging other users, convening, and/or any other virtual spaceactivities.

The disclosure of the virtual space determined from the instanceexecuted by space component 20 is not intended to be limiting. Thevirtual space may be presented in a more limited or richer manner. Forexample, views of the virtual space may be selected from a limited setof graphics depicting an event in a given place within the virtualspace. The views may include additional content (e.g., text, audio,pre-stored video content, and/or other content) that describesparticulars of the current state of the place, beyond the relativelygeneric graphics. For example, a view may include a generic battlegraphic with a textual description of the opponents to be confronted.Other representations of individual places within the virtual space arecontemplated.

Within the instance of the virtual space executed by space component 20,users may control characters, objects, simulated physical phenomena(e.g., wind, rain, earthquakes, and/or other phenomena), and/or otherelements within the virtual space to interact with the virtual spaceand/or each other. The user characters may include avatars. As usedherein, the term “user character” may refer to an object (or group ofobjects) present in the virtual space that represents an individualuser. The user character may be controlled by the user with which it isassociated. The user controlled element(s) may move through and interactwith the virtual space (e.g., non-user characters in the virtual space,other objects in the virtual space). The user controlled elementscontrolled by and/or associated with a given user may be created and/orcustomized by the given user. The user may have an “inventory” ofvirtual goods and/or currency that the user can use (e.g., bymanipulation of a user character or other user controlled element,and/or other items) within the virtual space.

The users may participate in the instance of the virtual space bycontrolling one or more of the available user controlled elements in thevirtual space. Control may be exercised through control inputs and/orcommands provided by the users through client computing platforms 13.The control inputs and/or commands provided by the user may specify anaction involving controlled elements at a virtual space location. Such auser-initiated action in the virtual space may change the state of thevirtual space at an instance when the action is executed in the virtualspace. Such a user-initiated action in the virtual space may changeviews of the virtual space when the action is executed in the virtualspace.

The users may interact with each other through communications exchangedwithin the virtual space. Such communications may include one or more oftextual chat, instant messages, private messages, voice communications,and/or other communications. Communications may be received and enteredby the users via their respective client computing platforms 13.Communications may be routed to and from the appropriate users throughserver 15 (e.g., through space component 20).

Client computing platforms 13 may include multiple types of clientcomputing platforms, e.g. a first type of client computing platforms, asecond type of client computing platforms, a third type of clientcomputing platforms, and so forth. Different types of client computingplatform may have different levels of available performance (e.g.,computing power, graphics performance, memory speed, bandwidth, etc.).In some implementations, different users with different types of clientcomputing platforms 13 may interact in the same virtual space.

Different lighting techniques and/or lighting features may be supportedby different (types of) client computing platforms. In someimplementations, a particular supported lighting technique or featuremay be implemented during interactive multi-user gameplay, e.g. throughray-tracing. In some implementations, the same particular supportedlighting technique or feature may be implemented prior to interactivegameplay, e.g. by including particular information in a light map. Insome implementations, a particular type of client computing platform maybe unable to support a particular lighting technique or feature. In someimplementations, a particular user may turn off a particular lightingtechnique or feature, e.g. to improve framerate and/or resolution.

Lighting preprocessing component 21 may be configured to determineand/or generate sets of lighting information. Operations by lightingpreprocessing component 21 may be performed, substantially orcompletely, prior to interactive gameplay. In some implementations,operations by lighting preprocessing component 21 may be performed priorto interactive multi-user gameplay. In some implementations, sets oflighting information may define lighting by one or more light sources ofobjects in a multi-dimensional volume. In some implementations, themulti-dimensional volume may be part of a virtual space. In someimplementations, sets of lighting information may define lighting by oneor more light sources of objects in a virtual space. In someimplementations, lighting information may include light models, lightmaps, and/or other information that may be used to facilitate lighting.In some implementations, lighting information may facilitate lightingduring and/or prior to interactive gameplay.

In some implementations, sets of lighting information may correspond tosets of supported lighting techniques and/or lighting features.Individual lighting techniques and/or lighting features may beimplemented prior to interactive gameplay or during interactivegameplay. In some implementations, a particular lighting technique orfeature may be partially implemented prior to interactive gameplay andpartially implemented during interactive gameplay.

A first set of lighting information may define lighting for a first typeof client computing platforms, a second set of lighting information maydefine lighting for a second type of client computing platforms, a thirdset of lighting information may define lighting for a third type ofclient computing platforms, and so forth. For example, the first type ofclient computing platforms may represent state-of-the-art graphicscapabilities and industry-leading amounts of computing power, a thirdtype of client computing platforms may represent less advanced graphicscapabilities (compared to the first type) and a modest amount ofcomputing power (e.g., less than the first type), and a second type ofclient computing platforms may represent graphics capabilities andcomputing power at a level between the first and third types of clientcomputing platforms. As used herein, the first type of client computingplatforms may be referred to as high-end platforms, the second type maybe referred to as mid-range platforms, and the third type may bereferred to as low-end platforms. Compared to high-end platforms, theother platforms may be referred to as lower-end platforms. Compared tothe low-end platforms, the other platforms may be referred to ashigher-end platforms.

In some implementations, lighting preprocessing component 21 may beconfigured to determine and/or generate a first set of lightinginformation for high-end platforms, a second set of lighting informationfor mid-range platforms, and a third set of lighting information forlow-end platforms. A set of lighting information may define lighting inaccordance with a particular primary set of lighting techniques and/orlighting features being implemented during interactive gameplay and aparticular secondary set of lighting techniques and/or lighting featuresbeing implemented prior to interactive gameplay. In someimplementations, each different level of client computing platform maybe associated with a corresponding pair of a primary and a secondary setof lighting techniques and/or lighting features. For the highest levelof capabilities and computing power, the secondary set may be empty. Forthe lowest level of capabilities and computing power, the primary setmay be empty. For many platforms, including but not limited to mid-rangeplatforms, both the primary and secondary set may include at least onelighting technique and/or lighting feature. For example, certain typesof lighting by a static light source on a (directly exposed) staticobject may be so similar or the same between different frames thatrecreating this particular illumination effect on a frame-by-frame basismay be wasteful of computing resources. As a result, such lightingtechniques and/or lighting features may be more suitably included in asecondary set rather than a primary set, at least for lower-end clientcomputing platforms. For example, certain types of lighting by a dynamiclight source on a dynamic object (e.g., reflections off fast-flyingobjects) may be so dissimilar between different frames that recreatingthis particular illumination effect on a frame-by-frame basis may berequired to obtain the effect at all. As a result, such lightingtechniques and/or lighting features may be more suitably included in aprimary set rather than a secondary set, at least for higher-end clientcomputing platforms that support that particular lighting technique orfeature.

Lower-end platforms may omit certain types of lighting if neitherreal-time processing nor pre-processing is available or feasible.Lighting techniques and lighting features that are not supported in anyway on a particular client computing platform (and/or turned off by theuser) may also be referred to as belonging to a tertiary set of lightingtechniques and/or lighting features. Types of lighting in a tertiary setmay need to be omitted. The tertiary set of a low-end platform may bemore extensive than the tertiary set of a higher-end platform. Thetertiary set of a low-end platform may include more lighting techniquesand/or lighting features than the tertiary set of a higher-end platform.

In some implementations, a lighting technique and/or lighting feature ina secondary set (of a lower-end platform) may approximate and/or mimicthe illumination of a particular lighting technique and/or lightingfeature that is included in a primary set of a higher-end platform. Theprimary set may be referred to as the runtime set or real-time set. Thesecondary set may be referred to as pre-processed set, preconfiguredset, or “baked-in” set. The primary set for high-end platforms mayinclude lighting techniques and/or lighting features that are notsupported (and/or at least not supported in the primary set) bylower-end platforms. The primary set for mid-range platforms may includelighting techniques and/or lighting features that are not supported(and/or at least not supported in the primary set) by low-end platforms.

For example, a static light source may indirectly illuminate aparticular surface of a static object within a three-dimensional volumethat is part of a video game. This type of lighting may be referred toas indirect lighting. If a particular higher-end client computingplatform supports a real-time implementation during interactive gameplay(in particular interactive multi-user gameplay) of this type of lighting(e.g., recreate the lighting on the particular surface for every frameor every set of frames, e.g., by ray-tracing) lighting preprocessingcomponent 21 may include the pertinent information regarding the staticlight source, the static object, the particular surface, the lightingmodel used to determine this particular illumination, and/or any otherinformation required for the particular higher-end client computingplatform to implement this type of lighting during interactive gameplayin the first set of lighting information. In this case, this particulartype of lighting is included in the primary set. In someimplementations, a lower-end client computing platform may not supportthis type of lighting during interactive gameplay. In someimplementations, the effects of this type of lighting on the particularsurface may be determined prior to interactive gameplay and “baked” intoa light map, e.g. by assigning particular colors and/or brightness topixels, vertices, and/or other elements used to draw the particularsurface. The lower-end client computing platform may be configured touse the (pre-processed) light map (and/or the information included in aset of lighting information) to implement lighting, in particular theeffects of this type of lighting, during interactive gameplay. In thiscase, this particular type of lighting is included in a secondary set.In some implementations, types of lighting in the secondary set may bereused between different frames, in particular if the particularillumination is similar or the same between different frames.

By way of non-limiting example, a static object (e.g. a streetlamp)between a static light source (e.g., the sun) and a static surface (e.g.the side of a building) may cast a shadow on the static surface thatremains the same or similar between subsequent frames. A higher-endplatform may determine and re-determine this shadow during interactivegameplay. However, a lower-end platform may approximate and/or mimicthis particular illumination (i.e., the casting of this shadow) by usinga light map with the shadow being baked-in, thus saving the effort todetermine and re-determine this particular illumination. In someimplementations, a very low level low-end platform may entirely omitthis type of lighting feature.

By way of non-limiting example, certain types of light sources may havea localized effect. For example, lighting provided by a (small) burningfire may only affect the illumination of a relatively small number ofpixels, vertices, surfaces, objects, and/or otherwise visible elementsthat contribute to a view of the virtual space and/or thethree-dimensional volume. In some implementations, lighting from thesecertain types of light sources may be referred to as deferred lighting.In some implementations, deferred lighting may be defined as lightingthat contributes to less than a certain percentage of the number ofpixels, vertices, surfaces, objects, and/or otherwise visible elementsthat contribute to a view of the virtual space and/or thethree-dimensional volume. In some implementations, the certainpercentage may be 50%, 40%, 30%, 25%, 20%, 15%, 10% and/or anotherpercentage. In some implementations, deferred lighting may be defined aslighting from one or more dynamic light sources. In someimplementations, dynamic light sources may include fires, flashlights,reflections, specular highlights, spinning lights, flashing lights,and/or other light sources. In some implementations, static lightsources may include the sun, the moon, starts, spotlights, and/or otherlight sources that move and/or change little or not at all betweensubsequent frames.

By way of non-limiting example, FIG. 2B illustrates a top-view 220 of avirtual space that may be used by a system configured to facilitatelighting of objects during interactive gameplay. The virtual space maybe the same as or similar to the virtual space depicted in FIG. 2A.Top-view 220 depicts a viewpoint 210 that represents the location of acamera or eye, and a viewing area 211, illustrated by a cone or triangleoriginating from viewpoint 210. Viewing area 211 represents a section oftop-view 220 that is visible from viewpoint 210 at a particular moment.Dynamic light source 203 is included in viewing area 211. In someimplementations, lighting from light source 203 may be referred to asdeferred lighting. In higher-end client computing platforms, lightsource 203 may cast flickering shadows on objects and/or walls withinviewing area 211. In lower-end client computing platforms, light source203 may cast static shadows or no shadows at all on objects and/or wallswithin viewing area 211.

By way of non-limiting example, FIG. 2C illustrates a top-view 240 of avirtual space that may be used by a system configured to facilitatelighting of objects during interactive gameplay. The virtual space maybe the same as or similar to the virtual space depicted in FIG. 2A.Top-view 240 depicts a viewpoint 210 c that represents the location of acamera or eye, and a viewing area 211 c, illustrated by a cone ortriangle originating from viewpoint 210 c. Viewing area 211 c representsa section of top-view 240 that is visible from viewpoint 210 c at aparticular moment. Light source 204 is included in viewing area 211 c.In higher-end client computing platforms, light source 203 may create aparticular illumination effect on a particular surface of object 206within viewing area 211. In lower-end client computing platforms, thesame illumination effect and/or a similar illumination effect may beapproximated and/or mimicked, e.g. by including particular informationin a light map. In some implementations, a very low level low-endplatform may entirely omit this particular illumination effect.

By way of non-limiting example, FIG. 2D illustrates a top-view 260 of avirtual space that may be used by a system configured to facilitatelighting of objects during interactive gameplay. The virtual space maybe the same as or similar to the virtual space depicted in FIG. 2A.Top-view 260 depicts a viewpoint 210 d that represents the location of acamera or eye, and a viewing area 211 d, illustrated by a cone ortriangle originating from viewpoint 210 d. Viewing area 211 d representsa section of top-view 260 that is visible from viewpoint 210 d at aparticular moment. Light source 202 is included in viewing area 211 d,and may provide lighting of objects within viewing area 211 d, includingbut not limited to object 205 and object 206. Light source 203 is notincluded in viewing area 211 d. Depending on the type of clientcomputing platform used, one or more particular illumination effects dueto light source 203 may be supported or not supported, and if supported,implemented or not implemented during or prior to interactive gameplay.For example, for a certain type of client computing platform, lightsource 203 may provide lighting on a surface of object 205 that facesviewpoint 210 d as if light source 203 is a static light source. Forexample, for a higher-end client computing platform, light source 203may provide dynamic lighting on a surface of object 205 that facesviewpoint 210 d. For example, for a low-end client computing platform,light source 203 may provide no lighting on object 205.

Light source 204 is not included in viewing area 211 d. Depending on thetype of client computing platform used, one or more particularillumination effects due to light source 204 may be supported or notsupported, and if supported, implemented or not implemented during orprior to interactive gameplay. For example, for a certain type of clientcomputing platform, light source 204 may provide lighting on object 206and/or object 205 as if light source 204 is a static light source. Forexample, for a higher-end client computing platform, light source 204may provide dynamic lighting on object 206 and/or object 205. In someimplementations, whether lighting is provided may depend on variousfactors, including but not limited to the distance between an object andlight source 204. For a low-end client computing platform, light source204 may provide no lighting on object 206 and/or object 205.

Light source 202 is included in viewing area 211 d. In higher-end clientcomputing platforms, light source 202 may provide indirect lighting on aparticular surface of object 206 within viewing area 211, as lightreflects from object 205. In lower-end client computing platforms, thesame type of indirect lighting may be approximated and/or mimicked, e.g.by including particular information in a light map. In someimplementations, a level low-end platform may entirely omit thisparticular type of lighting.

Referring to FIG. 1, sets of lighting information may be stored inelectronic storage 118. For example, lighting preprocessing component 21may be configured to store information in electronic storage 118.Components of system 100 may obtain, retrieve, and/or otherwise accessthe set of lighting information to implement and/or determine lighting,in particular during interactive (multi-user) gameplay.

Support component 22 may be configured to obtain and/or determinelighting techniques and/or lighting features that are supported by aparticular client computing platform. In some implementations, supportcomponent 22 may be configured to obtain and/or determine lightingtechniques and/or lighting features that are supported by a particulartype of client computing platform (e.g., the latest version of iPhone™)Support component 22 may be configured to determine sets of supportedlighting techniques and/or lighting features. For example, supportcomponent 22 may be configured to determine a primary set of lightingtechniques and/or lighting features that are supported duringinteractive gameplay on a particular client computing platform. Forexample, support component 22 may be configured to determine a secondaryset of lighting techniques and/or lighting features that are supportedprior to interactive gameplay on a particular client computing platform(but, e.g., that are not supported during interactive gameplay). Forexample, support component 22 may be configured to determine a set oflighting techniques and/or lighting features that are not supported inany way on a particular client computing platform (which may be referredto as a tertiary set).

Selection component 23 may be configured to select sets of lightinginformation for client computing platforms. For example, selectioncomponent 23 may be configured to analyze and/or compare lightingtechniques and/or lighting features that are supported by a particularclient computing platform (e.g. as obtained and/or determined by supportcomponent 22). In some implementations, selection component 23 may beconfigured to analyze and/or compare lighting techniques and/or lightingfeatures that are supported by a particular type of client computingplatform (e.g. as obtained and/or determined by support component 22).

Selection component 23 may be configured to select at least one set oflighting information that has been determined and/or generated bylighting pre-processing component 21. In other words, selectioncomponent 23 may be configured to determine which set of lightinginformation is most suitable for a particular client computing platformand/or a particular type of client computing platform. In someimplementations, selection by selection component 23 may be based on ananalysis and/or comparison of a primary set of lighting techniquesand/or lighting features. In some implementations, selection byselection component 23 may be based on an analysis and/or comparison ofa secondary set of lighting techniques and/or lighting features. In someimplementations, selection by selection component 23 may be based on ananalysis and/or comparison of a primary set and a secondary set oflighting techniques and/or lighting features.

Runtime lighting component 24 may be configured to determine, provide,implement, and/or effectuate lighting. For example, runtime lightingcomponent 24 may be configured to determine lighting of objects in thevirtual space. For example, runtime lighting component 24 may beconfigured to determine lighting of objects in a three-dimensionalvolume. In particular, runtime lighting component 24 may determinelighting for a particular client computing platform. In someimplementations, runtime lighting component 24 may be configured todetermine lighting during interactive gameplay (in particularinteractive multi-user gameplay). In some implementations, runtimelighting component 24 may operate in conjunction with space component20. In some implementations, runtime lighting component 24 may beconfigured to determine lighting in accordance with one or more sets oflighting information that have been selected by selection component 23.In some implementations, runtime lighting component 24 may be configuredto determine lighting in accordance with one or more sets of lightingtechniques and/or lighting features that have been selected by selectioncomponent 23. For example, runtime lighting component 24 may beconfigured to determine lighting based on a primary set of lightingtechniques and/or lighting features. Alternatively, and/orsimultaneously, runtime lighting component 24 may be configured todetermine lighting based on a secondary set of lighting techniquesand/or lighting features. Runtime lighting component 24 may beconfigured to obtain and/or otherwise access sets of lightinginformation from electronic storage 118. In particular, runtime lightingcomponent 24 may obtain and/or access the one or more sets of lightinginformation that have been selected by selection component 23.

Server 15, client computing platforms 13, and/or external resources 14may be operatively linked via one or more electronic communicationlinks. For example, such electronic communication links may beestablished, at least in part, via a network 120 such as the Internetand/or other networks. It will be appreciated that this is not intendedto be limiting, and that the scope of this disclosure includesimplementations in which servers 15, client computing platforms 13,and/or external resources 14 may be operatively linked via some othercommunication media.

A given client computing platform 13 may include one or more processorsconfigured to execute computer program components. The computer programcomponents may be configured to enable an expert or user associated withthe given client computing platform 13 to interface with system 100and/or external resources 14, and/or provide other functionalityattributed herein to client computing platforms 13. By way ofnon-limiting example, the given client computing platform 13 may includeone or more of a desktop computer, a laptop computer, a handheldcomputer, a tablet computing platform, a NetBook, a Smartphone, a gamingconsole, and/or other computing platforms.

External resources 14 may include sources of information, hosts and/orproviders of virtual environments outside of system 100, externalentities participating with system 100, and/or other resources. In someimplementations, some or all of the functionality attributed herein toexternal resources 14 may be provided by resources included in system100.

Server 15 may include electronic storage 118, one or more processors104, and/or other components. Server 15 may include communication lines,or ports to enable the exchange of information with network 120 and/orother computing platforms. Illustration of server 15 in FIG. 1 is notintended to be limiting. Server 15 may include a plurality of hardware,software, and/or firmware components operating together to provide thefunctionality attributed herein to server 15. For example, server 15 maybe implemented by a cloud of computing platforms operating together asserver 15.

Electronic storage 118 may comprise non-transitory storage media thatelectronically stores information. The electronic storage media ofelectronic storage 118 may include one or both of system storage that isprovided integrally (i.e., substantially non-removable) with server 15and/or removable storage that is removably connectable to server 15 via,for example, a port (e.g., a USB port, a firewire port, etc.) or a drive(e.g., a disk drive, etc.). Electronic storage 118 may include one ormore of optically readable storage media (e.g., optical disks, etc.),magnetically readable storage media (e.g., magnetic tape, magnetic harddrive, floppy drive, etc.), electrical charge-based storage media (e.g.,EEPROM, RAM, etc.), solid-state storage media (e.g., flash drive, etc.),and/or other electronically readable storage media. Electronic storage118 may include one or more virtual storage resources (e.g., cloudstorage, a virtual private network, and/or other virtual storageresources). Electronic storage 118 may store software algorithms,information determined by processor 104, information received fromserver 15, information received from client computing platforms 13,and/or other information that enables server 15 to function as describedherein.

Processor(s) 104 is configured to provide information processingcapabilities in system 100. As such, processor 104 may include one ormore of a digital processor, an analog processor, a digital circuitdesigned to process information, an analog circuit designed to processinformation, a state machine, and/or other mechanisms for electronicallyprocessing information. Although processor 104 is shown in FIG. 1 as asingle entity, this is for illustrative purposes only. In someimplementations, processor 104 may include a plurality of processingunits. These processing units may be physically located within the samedevice, or processor 104 may represent processing functionality of aplurality of devices operating in coordination. The processor 104 may beconfigured to execute components 20-24 and/or other components.Processor 104 may be configured to execute components 20-24 and/or othercomponents by software; hardware; firmware; some combination ofsoftware, hardware, and/or firmware; and/or other mechanisms forconfiguring processing capabilities on processor 104. As used herein,the term “component” may refer to any component or set of componentsthat perform the functionality attributed to the component. This mayinclude one or more physical processors during execution of processorreadable instructions, the processor readable instructions, circuitry,hardware, storage media, or any other components.

It should be appreciated that although components 20-24 are illustratedin FIG. 1 as being implemented within a single processing unit, inimplementations in which processor 104 includes multiple processingunits, one or more of components 20-24 may be implemented remotely fromthe other components. The description of the functionality provided bythe different components 20-24 described below is for illustrativepurposes, and is not intended to be limiting, as any of components 20-24may provide more or less functionality than is described. For example,one or more of components 20-24 may be eliminated, and some or all ofits functionality may be provided by other ones of components 20-24. Asanother example, processor 104 may be configured to execute one or moreadditional components that may perform some or all of the functionalityattributed below to one of components 20-24.

FIG. 3 illustrates one exemplary method of facilitating lighting ofobjects during interactive gameplay. The operations of method 300presented below are intended to be illustrative. In some embodiments,method 300 may be accomplished with one or more additional operationsnot described, and/or without one or more of the operations discussed.Additionally, the order in which the operations of method 300 areillustrated in FIG. 3 and described below is not intended to belimiting.

In some embodiments, method 300 may be implemented in one or moreprocessing devices (e.g., a digital processor, an analog processor, adigital circuit designed to process information, an analog circuitdesigned to process information, a state machine, and/or othermechanisms for electronically processing information). The one or moreprocessing devices may include one or more devices executing some or allof the operations of method 300 in response to instructions storedelectronically on an electronic storage medium. The one or moreprocessing devices may include one or more devices configured throughhardware, firmware, and/or software to be specifically designed forexecution of one or more of the operations of method 300.

At an operation 302, at least a portion of the sets of lightinginformation are stored on electronic storage. The sets define lightingby one or more light sources of objects in a virtual space, e.g. in amulti-dimensional volume. The sets include a first set of lightinginformation, a second set of lighting information, and a third set oflighting information. The first set of lighting information defineslighting in accordance with an implementation during interactivegameplay for (i) indirect lighting by at least one of the one or morelight sources on at least one of the objects, and (ii) deferred lightingby at least one of the one or more light sources on at least one of theobjects. The second set of lighting information defines lighting inaccordance with a combination of implementation during interactivegameplay and implementation prior to interactive gameplay of theindirect lighting and the deferred lighting such that at least one ofthe indirect lighting and the deferred lighting is implemented duringinteractive gameplay. The third set of lighting information defineslighting in accordance with no implementation during interactivegameplay for the indirect lighting and the deferred lighting such thateither one of the indirect lighting and the deferred lighting is omittedor implemented prior to interactive gameplay. At least a portion of thesecond set of lighting information that defines lighting in accordancewith implementation during interactive gameplay is not included in thethird set of lighting information. At least a portion of the second setof lighting information is not included in either the first set or thethird set. In some embodiments, operation 302 is performed by a lightingpreprocessing component the same as or similar to lighting preprocessingcomponent 21 (shown in FIG. 1 and described herein).

At an operation 304, a set of lighting features is obtained that issupported during interactive gameplay on a client computing platform. Insome embodiments, operation 304 is performed by a support component thesame as or similar to support component 22 (shown in FIG. 1 anddescribed herein).

At an operation 306, a selection is made between the first, second, andthird set of lighting information based on the obtained set of lightingfeatures. In some embodiments, operation 306 is performed by a selectioncomponent the same as or similar to selection component 23 (shown inFIG. 1 and described herein).

At an operation 308, during interactive gameplay, lighting in themulti-dimensional volume is implemented in accordance with the selectedset of lighting information. In some embodiments, operation 308 isperformed by a runtime lighting component the same as or similar toruntime lighting component 24 (shown in FIG. 1 and described herein).

Although the present technology has been described in detail for thepurpose of illustration based on what is currently considered to be themost practical and preferred implementations, it is to be understoodthat such detail is solely for that purpose and that the technology isnot limited to the disclosed implementations, but, on the contrary, isintended to cover modifications and equivalent arrangements that arewithin the spirit and scope of the appended claims. For example, it isto be understood that the present technology contemplates that, to theextent possible, one or more features of any implementation can becombined with one or more features of any other implementation.

What is claimed is:
 1. A system configured to facilitate illumination ofobjects in a multi-dimensional volume during interactive gameplay byusers on client computing platforms, wherein the client computingplatforms include a first client computing platform and a second clientcomputing platform, wherein the first client computing platform has afirst available performance, wherein the first available performancepertains to at least one of (a) computing power, (b) graphicsperformance, (c) memory speed, and (d) bandwidth, wherein the secondclient computing platform has a second available performance, whereinthe second available performance pertains to at least one of (a)computing power, (b) graphics performance, (c) memory speed, and (d)bandwidth, the system comprising: electronic storage configured to storesets of lighting information that define lighting by one or more lightsources of the objects in the multi-dimensional volume, wherein the setsinclude a first set of lighting information, a second set of lightinginformation, and a third set of lighting information, wherein the firstset of lighting information defines a first lighting of the objects inaccordance with a first implementation during interactive gameplay for:(i) indirect lighting by at least one of the one or more light sourceson at least one of the objects, and (ii) deferred lighting by at leastone of the one or more light sources on at least one of the objects,wherein the second set of lighting information defines a second lightingof the objects such that at least one of the indirect lighting and thedeferred lighting is implemented during interactive gameplay and furthersuch that at least one of the indirect lighting and the deferredlighting is implemented during interactive gameplay using apre-processed light map that is reused between different frames, whereinthe third set of lighting information defines a third lighting of theobjects such that at least one of the indirect lighting and the deferredlighting uses a particular light map prior to interactive gameplay,wherein the particular light map includes one or more baked-in shadows;wherein at least a portion of the second set of lighting information isnot included in the third set of lighting information; one or morephysical processors configured by machine-readable instructions to:determine, by a support component, a first set of lighting features thatis supported by the first client computing platform during interactivegameplay on the first client computing platform; determine, by thesupport component, a second set of lighting features that is supportedby the second client computing platform during interactive gameplay onthe second client computing platform; make a first selection, for thefirst client computing platform, between the first, second, and thirdset of lighting information based on the determined first set oflighting features; make a second selection, for the second clientcomputing platform, between the first, second, and third set of lightinginformation based on the determined second set of lighting features;during interactive gameplay on the first client computing platform,implement the illumination of the objects in the multi-dimensionalvolume in accordance with the first selection; and during interactivegameplay on the second client computing platform, implement theillumination of the objects in accordance with the second selection,wherein the second selection is different from the first selection. 2.The system of claim 1, wherein the indirect lighting on the at least oneof the objects includes reflected light from the at least one or the oneor more light sources.
 3. The system of claim 1, wherein the deferredlighting contributes to less than 20% of the objects in themulti-dimensional volume.
 4. The system of claim 1, wherein the deferredlighting originates from a dynamic light source such that the deferredlighting is re-determined between subsequent frames.
 5. The system ofclaim 1, wherein the one or more processors are further configured to:determine, prior to any interactive gameplay on the first or secondclient computing platforms, differences between the first set oflighting information and the second set of lighting information,wherein, during the interactive gameplay, and responsive to selection ofthe second set of lighting information, the illumination of the objectsis further based on the determined differences.
 6. The system of claim1, wherein the one or more processors are further configured to:determine, prior to any interactive gameplay on the first or secondclient computing platforms, differences between the first set oflighting information and the third set of lighting information, wherein,during the interactive gameplay, and responsive to selection of thethird set of lighting information, the illumination of the objects inthe multi-dimensional volume is further based on the determineddifferences.
 7. The system of claim 1, wherein determining the first setof lighting features that is supported is performed by the first clientcomputing platform.
 8. The system of claim 1, wherein determining thefirst set of lighting features that is supported is performed by thesystem and not by the first client computing platform.
 9. The system ofclaim 1, wherein the first selection between the first, second, andthird set of lighting information is performed by the system and not onthe first client computing platform.
 10. The system of claim 1, whereinat least a portion of the second set of lighting information is notincluded in either the first set or the third set.
 11. Acomputer-implemented method of facilitating illumination of objects in amulti-dimensional volume during interactive gameplay by users on clientcomputing platforms, wherein the client computing platforms include afirst client computing platform and a second client computing platform,wherein the first client computing platform has a first availableperformance, wherein the first available performance pertains to atleast one of (a) computing power, (b) graphics performance, (c) memoryspeed, and (d) bandwidth, wherein the second client computing platformhas a second available performance, wherein the second availableperformance pertains to at least one of (a) computing power, (b)graphics performance, (c) memory speed, and (d) bandwidth, the methodbeing implemented in a system that includes electronic storage and oneor more physical processors configured by machine-readable instructions,the method comprising: storing, on the electronic storage, sets oflighting information that define lighting by one or more light sourcesof the objects in the multi-dimensional volume, wherein the sets includea first set of lighting information, a second set of lightinginformation, and a third set of lighting information, wherein the firstset of lighting information defines a first lighting of the objects inaccordance with a first implementation during interactive gameplay for:(i) indirect lighting by at least one of the one or more light sourceson at least one of the objects, and (ii) deferred lighting by at leastone of the one or more light sources on at least one of the objects,wherein the second set of lighting information defines a second lightingof the objects such that at least one of the indirect lighting and thedeferred lighting is implemented during interactive gameplay and furthersuch that at least one of the indirect lighting and the deferredlighting is implemented during interactive gameplay using apre-processed light map that is reused between different frames, whereinthe third set of lighting information defines a third lighting of theobjects such that at least one of the indirect lighting and the deferredlighting uses a particular light map prior to interactive gameplay,wherein the particular light map includes one or more baked-in shadows,and wherein at least a portion of the second set of lighting informationis not included in the third set of lighting information; determining afirst set of lighting features that is supported by the first clientcomputing platform during interactive gameplay on the first clientcomputing platform; determining a second set of lighting features thatis supported by the second client computing platform during interactivegameplay on the second client computing platform; making a firstselection, for the first client computing platform, between the first,second, and third set of lighting information based on the determinedfirst set of lighting features; making a second selection, for thesecond client computing platform, between the first, second, and thirdset of lighting information based on the determined second set oflighting features; during interactive gameplay on the first clientcomputing platform, implementing the illumination of the objects inaccordance with the first selection; and during interactive gameplay onthe second client computing platform, implementing the illumination ofthe objects in accordance with the second selection, wherein the secondselection is different from the first selection.
 12. The method of claim11, wherein the indirect lighting on the at least one of the objectsincludes reflected light from the at least one or the one or more lightsources.
 13. The method of claim 11, wherein the deferred lightingcontributes to less than 20% of the objects in the multi-dimensionalvolume.
 14. The method of claim 11, wherein the deferred lightingoriginates from a dynamic light source such that the deferred lightingis re-determined between subsequent frames.
 15. The method of claim 10,further comprising: determining, prior to any interactive gameplay onthe first or second client computing platforms, differences between thefirst set of lighting information and the second set of lightinginformation, and wherein, during the interactive gameplay, andresponsive to selecting the second set of lighting information, theillumination of the objects is further based on the determineddifferences.
 16. The method of claim 11, further comprising:determining, prior to any interactive gameplay on the first or secondclient computing platforms, differences between the first set oflighting information and the third set of lighting information, wherein,during the interactive gameplay, and responsive to selecting the thirdset of lighting information, the illumination of the objects is furtherbased on the determined differences.
 17. The method of claim 11, whereindetermining the first set of lighting features that is supported isperformed by the first client computing platform.
 18. The method ofclaim 11, wherein determining the first set of lighting features that issupported is performed by the system and not by the first clientcomputing platform.
 19. The method of claim 11, wherein making the firstselection between the first, second, and third set of lightinginformation is performed by the system and not on the first clientcomputing platform.
 20. The method of claim 11, wherein at least aportion of the second set of lighting information is not included ineither the first set or the third set.